package com.sdhs.projectschedule.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdhs.common.annotation.Excel;
import com.sdhs.common.core.domain.BaseEntity;

import lombok.Data;

/**
 * 项目进度控制--总体计划管理对象 gc_progress_master_plan
 *
 * @author ww
 * @date 2025-03-22
 */
@Data
public class GcProgressMasterPlan extends BaseEntity {
    private static final long serialVersionUID = 1L;

    public GcProgressMasterPlan() {
        isDelete = "0";
    }

    /**
     * 总体计划管理主键
     */
    private Long id;

    /**
     * 主键id别名
     */
    private Long planId;

    /**
     * 关联项目id
     */
    @Excel(name = "关联项目id")
    private Long projectId;

    /**
     * 关联项目名称
     */
    @Excel(name = "关联项目名称")
    private String projectName;

    /**
     * 提交人姓名
     */
    @Excel(name = "提交人姓名")
    private String submitNickName;

    /**
     * 提交人用户名
     */
    @Excel(name = "提交人用户名")
    private String submitUserName;

    /**
     * 提交时间
     */
    @Excel(name = "提交时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date submitTime;

    /**
     * 审批状态
     */
    @Excel(name = "审批状态")
    private String approvalStatus;

    /**
     * 流程实例ID
     */
    @Excel(name = "流程实例ID")
    private String instanceId;

    /**
     * 变更实例id
     */
    @Excel(name = "变更实例id")
    private String changeInstanceId;

    /**
     * 变更审批状态
     */
    @Excel(name = "变更审批状态")
    private String changeApprovalStatus;

    /**
     * 变更提交人名称
     */
    @Excel(name = "变更提交人名称")
    private String changeSubmitNickName;

    /**
     * 变更提交人用户名
     */
    @Excel(name = "变更提交人用户名")
    private String changeSubmitUserName;

    /**
     * 变更提交时间
     */
    @Excel(name = "变更提交时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date changeSubmitTime;

    /**
     * 是否删除
     */
    @Excel(name = "是否删除")
    private String isDelete;

    /**
     * 总体计划数据
     */
    @Excel(name = "总体计划数据")
    private List<GcProgressMasterPlanMark> children;
}
